package com.dev.happy.validation.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 自定义参数校验
 *
 * @author caonuoqi
 */
@Documented
@Target(ElementType.FIELD)
@Retention(RUNTIME)
public @interface CustomValidate {
    /**
     * 自定义检验函数名，包含类全路径</p>
     */
    String validateMethod();

    /**
     * 回调函数所在类在spring容器中注册的名称<br/>
     * 如果为空，则按一般的类处理且该类必须有空参的构造函数
     */
    String beanName() default "";

    /**
     * 校驗順序 1最先校驗。默認為1
     */
    int order() default 1;

}
